
/*----------------------------------------------------------------------------
 * Name     : timer.c
 * Purpose  : 
 * Note(s)  : 
 *---------------------------------------------------------------------------- */
#include	"timer.h"
volatile bit	timer8ms;   

u8 out_count;
/*----------------------------------------e-----------------------------------*/
/*   */
/*---------------------------------------------------------------------------*/
void timebase0_configure(void)//tb0,tb1设定
{
// 	_psc0r =0x01;
// 	_tb0c = 0x05;		
// 	_tb0f = FALSE;
// 	_tb0e = TRUE;			//4ms,发送数据时使用
// /*	_tb0on = TRUE;*/
	
// 	_psc1r =0x02;
// 	_tb1c = 0x07;		
// 	_tb1f = FALSE;			
// 	_tb1e = TRUE;			//遥控器识别过程中使用，长时间未接收到数据时，退出遥控器解码

	// _tbc = 0b10000000;		// fSub, /4096 -> 125ms, /256 -> 8ms

	_tbc = C_TBON + C_TBCK_FSUB + C_TB0_DIV_4096 + C_TB1_DIV_4096;

	_tb0f = FALSE;
	_tb0e = FALSE;//TRUE;
	_tb1f = FALSE;
	_tb1e = TRUE;
	_mf4f = FALSE;
	_mf4e = TRUE;
	
}
/*---------------------------------------------------------------------------*/
/*	 */
/*---------------------------------------------------------------------------*/
void	Delay10us(u8 cnt)
{
	while(cnt)
	{	
#if (SYSTEM_CLOCK == FSYS12MHZ)					/* for 12MHZ */
		asm volatile("mov	a,6");
#elif (SYSTEM_CLOCK == FSYS8MHZ)					/* for 8MHZ */    
		asm volatile("mov	a,4");
#else
		asm volatile("mov	a,2");					/* for 4MHZ */
#endif         	
		asm volatile("nop");		
		asm volatile("sdz	acc");
		asm volatile("jmp $-2");
		cnt--;
	}
}
/*---------------------------------------------------------------------------*/
/*	 */
/*---------------------------------------------------------------------------*/
void DelayXmSec(u16 xs)
{
   while(xs)
   {
#if (SYSTEM_CLOCK == FSYS12MHZ) 					/* for 12MHZ */
		asm("mov		A,186");
#elif (SYSTEM_CLOCK == FSYS8MHZ)					/* for 8MHZ */    
		asm("mov		A,124");
#else
		asm("mov		A,61");							/* for 4MHZ */
#endif         	
      asm("clr wdt");
      asm("sdz acc");
      asm("jmp $-2");
      xs--;
   }
}

DEFINE_ISR(ISR_MF4,0x3c)
{
#if 0
	if(_tb0f)
	{
		_tb0f = FALSE;
		// P_TEST2 = 1;
		// GCC_NOP();
		// GCC_NOP();
		// GCC_NOP();
		// GCC_NOP();
		// P_TEST2 = 0;
	}

	if(_tb1f)
	{
		_tb1f = FALSE;
		// P_TEST3 = 1;
		// GCC_NOP();
		// GCC_NOP();
		// GCC_NOP();
		// GCC_NOP();
		// P_TEST3 = 0;
	}
#endif
}

